/**
 * 
 */
package com.hand.cloud.b2b.daos;

import de.hybris.platform.core.model.c2l.LanguageModel;
import de.hybris.platform.core.model.order.OrderModel;

import java.util.List;

import com.hand.cloud.b2b.model.EPOrderModel;


/**
 * @author StephenWang
 * @time Jul 28, 2014 3:18:51 PM
 * 
 */
public interface OrderDAO
{
	/**
	 * 创建订单号。
	 * 
	 * @return str
	 */
	public String generateOrderCode();

	/**
	 * 创建订单头
	 * 
	 * @param order
	 * @return order
	 */
	public OrderModel createOrderHds(final EPOrderModel order);

	/**
	 * 通过EPOrderModel创建OrderModel
	 * 
	 * @param epOrder
	 * @return
	 */
	public OrderModel createOrder(EPOrderModel epOrder);

	/**
	 * 测试创建订单
	 * 
	 * @return
	 */
	public OrderModel createOrder();


	/**
	 * 得到所有已完成的所有订单
	 * 
	 * @return List<Object>
	 */
	public List<Object> getCompletedOrders();



	/**
	 * 通过PK删除订单
	 * 
	 * @param pk
	 * @throws Exception
	 */
	public void deleteOrder(String pk);

	/**
	 * 修改订单
	 */
	public void modifyOrder(EPOrderModel epOrder);


	/**
	 * 通过isoCode获取语言
	 * 
	 * @param string
	 * @return
	 */
	public LanguageModel getLanguageByCode(String isoCode);


}
